package com.dz.lm.dao.appLogin.read;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.dz.lm.common.exception.DaoException;
import com.dz.lm.common.utils.stereotype.ReaderRepository;
import com.dz.lm.domain.user.SystemSet;

@ReaderRepository("readAppLoginDao")
public interface AppLoginDao {
	/**
	 * 查询系统环境编码（dev/test/prod） 
	 */
	SystemSet qrySystemEnvironmentCode()throws DaoException;
	/**
	 * 查询账户是否存在（大于0即为存在）
	 */
	Integer selectByMobilePhoneCnt(@Param("mobilePhone")String mobilePhone)throws DaoException;
	/**
	 * 校验用户登录
	 */
	Map<String, Object> qryUserInfo(Map<String, Object> qryParam)throws DaoException;
	/**
	 * 查询用户信息
	 */
	Map<String, Object> qryUserInfoByUserId(Map<String, Object> qryParam)throws DaoException;
	/*
	  获取平台上所有有效人员
	 */
	 List<Map> qryUserInfoAll(Map<String, Object> qryParam) throws DaoException;
	/**
	 * 查询融云token
	 */
	Map<String, Object> qryRyToken(Map<String, Object> qryParam)throws DaoException;
	/**
	 * 查询设置页用户信息
	 */
	Map<String, Object> qryUserSetInfo(Map<String, Object> qryParam)throws DaoException;
	/**
	 * 获取用户主页信息
	 */
	Map<String, Object> qryUserHomeInfo(Map<String, Object> qryParam)throws DaoException;
	/**
	 * 获取用户主页信息
	 */
	Map<String, Object> qryUserHomeInfoB(Map<String, Object> qryParam)throws DaoException;
	/**
	 * 获取用户主页结构认证信息
	 */
	Map<String, Object> qryUserOrgAuthInfo(Map<String, Object> qryParam)throws DaoException;
	/**
	 * 获取经理人及机构认证信息
	 */
	Map<String, Object> qryManageAuthInfo(Map<String, Object> qryParam)throws DaoException;
	/**
	 * 用户MD5加密的userId查询原始userId
	 */
	Map<String, Object> qryUserIdByMd5UserId(Map<String, Object> qryParam)throws DaoException;
}